tinymce.PluginManager.add("codemirror", function (editor, url) {
  editor.ui.registry.addButton("codemirror", {
    text: "源代码",
    onAction: function () {
      const content = editor.getContent();
      openHtmlDialog(content);
    },
  });
});

function openHtmlDialog(content) {
  console.log(content);

  // HTML 对话框结构
  // const dialogHtml = `<textarea id="codeMirrorEditor" style="width:100%; height:100%;">${content}</textarea>`;
  console.log(tinymce, "tinymce");

  // 使用TinyMCE自带的对话框
  tinymce.activeEditor.windowManager.open({
    title: "源代码",
    size: "large",
    initialData: {
      content: content,
    },
    body: {
      type: "panel",
      items: [
        {
          type: "textarea",
          name: "code", // 不填随机生成
        },
      ],
    },
    buttons: [
      { type: "cancel", text: "关闭" },
      {
        type: "submit",
        text: "格式化",
      },
      {
        type: "submit",
        text: "OK",
        primary: true,
      },
    ],
    onSubmit: function (api) {
      var data = api.getData();
      console.log(api);
      // 将输入框内容插入到内容区光标位置
      // editor.insertContent("插入的文字是: " + data.title);
      // api.close();
    },
  });
}

// 示例格式化函数（可以使用其他更强大的库）
function formatHTML(html) {
  return html.replace(/></g, ">\n<").trim(); // 简单格式化
}
